package com.suning.sawp.intf.biz;

import java.util.List;

import com.suning.sawp.dto.common.ReturnMsg;
import com.suning.sawp.dto.price.ComparePriceResult;
import com.suning.sawp.dto.price.SiteHistoryPrice;
import com.suning.sawp.po.StoreManSubProduct;

/***
 * 
 * 商品比价接口<br> 
 * 〈功能详细描述〉
 *
 * @author 12061818
 * @see [相关类/方法]（可选）
 * @since [产品/模块版本] （可选）
 */
public interface CasComparePriceService {
    /**
     * 
     * 功能描述: 店员关注商品<br>
     * 〈功能详细描述〉
     *
     * @param staffId     工号
     * @param productId   商品编码
     * @param productName 商品名称
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    ReturnMsg<String> subscribleProduct(String staffId, String productId, String productName);
    
    /**
     * 
     * 功能描述: 取消商品关注<br>
     * 〈功能详细描述〉
     *
     * @param staffId
     * @param productId
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    ReturnMsg<String> unSubscribleProduct(String staffId, String productId);
    
    /**
     * 
     * 功能描述: 我的关注商品列表信息<br>
     * 〈功能详细描述〉
     *
     * @param staffId
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    ReturnMsg<List<StoreManSubProduct>> getMySubscribleProducts(String staffId);
    
    /**
     * 
     * 功能描述: 获取站点价格信息<br>
     * 〈功能详细描述〉
     *
     * @param staffId 员工工号
     * @param productId  商品编码
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    ReturnMsg<ComparePriceResult> getProductSitePrices(String staffId, String productId);
    
    /**
     * 
     * 功能描述: 获取站点近一个月历史价格信息<br>
     * 〈功能详细描述〉
     *
     * @param productId
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    ReturnMsg<List<SiteHistoryPrice>> getProductSiteHistoryPrices(String productId);
}
